import {
	defineStore
} from 'pinia'
import useHomeStore from '../home/home'

const useCommonStore = defineStore('common', {
	state: () => ({
		systemInfo: {
			screenHeight: 0, // 屏幕高度
			capsuleHeight: 0, // 胶囊高度
			capsuleMidHeight: 0, // 胶囊和状态栏的小缝隙高度
			statusBarHeight: 0, // 状态栏高度
			navBarHeight: 0, // navbar高度
		},
		reviewHistory: [], // 观看记录
		followHistory: [], // 在追记录
	}),
	actions: {
		// - 处理本地观看历史
		rememberReviewHistoryData(item) {
			// 为了防止本地缓存过多，只存100条记录
			if (this.reviewHistory.length > 10) {
				this.reviewHistory = this.reviewHistory.slice(0, 9)
			}

			// 如果该记录已经存在，则删掉以前的，重新加一个（此操作是为了优化用户体验：保证最新记录在最前面）
			const findIndex = this.reviewHistory.findIndex((it) => item.skit_id == it.skit_id)
			if (findIndex !== -1) {
				this.reviewHistory.splice(findIndex, 1)
			}

			this.reviewHistory.unshift(item)
		},
		clearReviewHistoryData() {
			this.reviewHistory = []
		},

		// - 处理本地在追数据
		rememberFollowHistoryData(item) {
			// 如果该记录已经存在，则删掉以前的，重新加一个（此操作是为了优化用户体验：保证最新记录在最前面）
			const findIndex = this.followHistory.findIndex((it) => item.skit_id == it.skit_id)
			if (findIndex !== -1) {
				this.followHistory.splice(findIndex, 1)
			}

			this.followHistory.unshift(item)
		},
		removeFollowHistoryData(item) {
			const findIndex = this.followHistory.findIndex(it => it.skit_id === item.skit_id)
			if (findIndex !== -1) {
				this.followHistory.splice(findIndex, 1)
			}
		},
		clearFollowHistoryData() {
			this.followHistory = []
		}
	},
	unistorage: {
		paths: ['systemInfo', 'reviewHistory', 'followHistory']
	}
})

export default useCommonStore